
//
//  UserDefaults.swift
//  DaDainan
//
//  Created by 刘泽 on 2017/11/21.
//  Copyright © 2017年 唐山徕思歌科技有限公司. All rights reserved.
//

import Foundation

//通过键值对 保存数据

/*  使用NSUserDefaults对普通数据对象储存   */

/**
 储存
 
 - parameter key:   key
 - parameter value: value
 */
public func setNormalDefault(key:String, value:Any?){
    if value == nil {
        UserDefaults.standard.removeObject(forKey: key)
    }
    else{
        UserDefaults.standard.set(value, forKey: key)
        // 同步
        UserDefaults.standard.synchronize()
    }
}

/**
 通过对应的key移除储存
 
 - parameter key: 对应key
 */
public func removeNormalUserDefault(key:String?){
    if key != nil {
        UserDefaults.standard.removeObject(forKey: key!)
        UserDefaults.standard.synchronize()
    }
}

/**
 通过key找到储存的value
 
 - parameter key: key
 
 - returns: AnyObject
 */
public func getNormalDefult(key:String)->Any?{
    return UserDefaults.standard.value(forKey: key)
}

//MARK:获取NSObject
public func getObjectDefult<T>(obj:T.Type,key:String) -> T?{
    if let data = UserDefaults.standard.value(forKey: key) as? Data{
        return NSKeyedUnarchiver.unarchiveObject(with: data) as? T
    }
    return nil
}


